
package com.google.api.ads.adwords.jaxws.v201409.cm;

import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;


/**
 * 
 *       Use this service to manage conversion trackers. A conversion tracker provides
 *       a snippet of code which records every time a user visits a page that contains
 *       it. The data this provides can be used to gauge the effectiveness of your ads
 *       and keywords.
 *     
 * 
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.2.4-b01
 * Generated source version: 2.1
 * 
 */
@WebService(name = "ConversionTrackerServiceInterface", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201409")
@XmlSeeAlso({
    ObjectFactory.class
})
public interface ConversionTrackerServiceInterface {


    /**
     * 
     *         Returns a list of the conversion trackers that match the selector. The
     *         actual objects contained in the page's list of entries will be specific
     *         subclasses of the abstract {@link ConversionTracker} class.
     *         
     *         @param serviceSelector The selector specifying the
     *         {@link ConversionTracker}s to return.
     *         @return List of conversion trackers specified by the selector.
     *         @throws com.google.ads.api.services.common.error.ApiException if problems
     *         occurred while retrieving results.
     *       
     * 
     * @param serviceSelector
     * @return
     *     returns com.google.api.ads.adwords.jaxws.v201409.cm.ConversionTrackerPage
     * @throws ApiException_Exception
     */
    @WebMethod
    @WebResult(name = "rval", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201409")
    @RequestWrapper(localName = "get", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201409", className = "com.google.api.ads.adwords.jaxws.v201409.cm.ConversionTrackerServiceInterfaceget")
    @ResponseWrapper(localName = "getResponse", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201409", className = "com.google.api.ads.adwords.jaxws.v201409.cm.ConversionTrackerServiceInterfacegetResponse")
    public ConversionTrackerPage get(
        @WebParam(name = "serviceSelector", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201409")
        Selector serviceSelector)
        throws ApiException_Exception
    ;

    /**
     * 
     *         Applies the list of mutate operations such as adding or updating conversion trackers.
     *         <p class="note"><b>Note:</b> {@link ConversionTrackerOperation} does not support the
     *         <code>REMOVE</code> operator. In order to 'disable' a conversion type, send a
     *         <code>SET</code> operation for the conversion tracker with the <code>status</code>
     *         property set to <code>DISABLED</code></p>
     *         
     *         @param operations A list of mutate operations to perform.
     *         @return The list of the conversion trackers as they appear after mutation,
     *         in the same order as they appeared in the list of operations.
     *         @throws com.google.ads.api.services.common.error.ApiException if problems
     *         occurred while updating the data.
     *       
     * 
     * @param operations
     * @return
     *     returns com.google.api.ads.adwords.jaxws.v201409.cm.ConversionTrackerReturnValue
     * @throws ApiException_Exception
     */
    @WebMethod
    @WebResult(name = "rval", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201409")
    @RequestWrapper(localName = "mutate", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201409", className = "com.google.api.ads.adwords.jaxws.v201409.cm.ConversionTrackerServiceInterfacemutate")
    @ResponseWrapper(localName = "mutateResponse", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201409", className = "com.google.api.ads.adwords.jaxws.v201409.cm.ConversionTrackerServiceInterfacemutateResponse")
    public ConversionTrackerReturnValue mutate(
        @WebParam(name = "operations", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201409")
        List<ConversionTrackerOperation> operations)
        throws ApiException_Exception
    ;

}
